<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth LE Mesh Library: Mesh Power OnOff Client</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth LE Mesh Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__wiced__bt__mesh__power__onoff__client.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Mesh Power OnOff Client<div class="ingroups"><a class="el" href="group__wiced__bt__mesh.html">LE Mesh</a> &raquo; <a class="el" href="group__wiced__bt__mesh__models.html">Mesh Models Library API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The AIROC Mesh Power On/Off Client module of the Mesh Models library provides a way for an application to manage the On Power Up behavior of other mesh devices. </p>
<p>It is typicallly used by the applications running on devices which performs mesh network configuration.</p>
<p>To include Power On/Off functionality, the device description shall contain WICED_BT_MESH_MODEL_POWER_ONOFF_CLIENT. The application shall also initialize the Power On/Off Client calling the <a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga4d60833328cbf560c43ba130f56f69c7">wiced_bt_mesh_model_power_onoff_client_init</a> registering a callback to receive Power OnOff status messages</p>
<p>To find out the current On Power Up state set on a particular device and to modify the behavior the application shall use <a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga0e675596ea9b81df95f2bf81c886a168">wiced_bt_mesh_model_power_onoff_client_send_onpowerup_get</a>. and <a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga30456c1896ae6fc5d8259e70a6218b4c">wiced_bt_mesh_model_power_onoff_client_send_onpowerup_set</a> methods respectively. These functions require to use the p_event parameter which include among others the address of the desgination device, the application key index, the retrnansmission parameters, the TTL, and various others. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga2c0d0dd298d58d00d96fb4b8a9b3bf43"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga2c0d0dd298d58d00d96fb4b8a9b3bf43">wiced_bt_mesh_power_onoff_client_callback_t</a>(uint16_t event, <a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, void *p_data)</td></tr>
<tr class="memdesc:ga2c0d0dd298d58d00d96fb4b8a9b3bf43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power On/Off Client callback is called by the Mesh Models library on receiving WICED_BT_MESH_POWER_ONOFF_ONPOWERUP_STATUS message from the peer.  <a href="#ga2c0d0dd298d58d00d96fb4b8a9b3bf43">More...</a><br /></td></tr>
<tr class="separator:ga2c0d0dd298d58d00d96fb4b8a9b3bf43"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4d60833328cbf560c43ba130f56f69c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga4d60833328cbf560c43ba130f56f69c7">wiced_bt_mesh_model_power_onoff_client_init</a> (uint8_t element_idx, <a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga2c0d0dd298d58d00d96fb4b8a9b3bf43">wiced_bt_mesh_power_onoff_client_callback_t</a> *p_callback, wiced_bool_t is_provisioned)</td></tr>
<tr class="memdesc:ga4d60833328cbf560c43ba130f56f69c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power On/Off Client Module initialization.  <a href="#ga4d60833328cbf560c43ba130f56f69c7">More...</a><br /></td></tr>
<tr class="separator:ga4d60833328cbf560c43ba130f56f69c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a8051787824f2f8c30718a2871cd7f1"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga1a8051787824f2f8c30718a2871cd7f1">wiced_bt_mesh_model_power_onoff_client_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:ga1a8051787824f2f8c30718a2871cd7f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic Power OnOff Client Message Handler.  <a href="#ga1a8051787824f2f8c30718a2871cd7f1">More...</a><br /></td></tr>
<tr class="separator:ga1a8051787824f2f8c30718a2871cd7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e675596ea9b81df95f2bf81c886a168"><td class="memItemLeft" align="right" valign="top">wiced_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga0e675596ea9b81df95f2bf81c886a168">wiced_bt_mesh_model_power_onoff_client_send_onpowerup_get</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event)</td></tr>
<tr class="memdesc:ga0e675596ea9b81df95f2bf81c886a168"><td class="mdescLeft">&#160;</td><td class="mdescRight">The application can call this function to send the Get Power On/Off state client message to the server.  <a href="#ga0e675596ea9b81df95f2bf81c886a168">More...</a><br /></td></tr>
<tr class="separator:ga0e675596ea9b81df95f2bf81c886a168"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30456c1896ae6fc5d8259e70a6218b4c"><td class="memItemLeft" align="right" valign="top">wiced_result_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga30456c1896ae6fc5d8259e70a6218b4c">wiced_bt_mesh_model_power_onoff_client_send_onpowerup_set</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, <a class="el" href="structwiced__bt__mesh__power__onoff__data__t.html">wiced_bt_mesh_power_onoff_data_t</a> *p_data)</td></tr>
<tr class="memdesc:ga30456c1896ae6fc5d8259e70a6218b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The application can call this function to send Set OnOff client message to the server.  <a href="#ga30456c1896ae6fc5d8259e70a6218b4c">More...</a><br /></td></tr>
<tr class="separator:ga30456c1896ae6fc5d8259e70a6218b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga2c0d0dd298d58d00d96fb4b8a9b3bf43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c0d0dd298d58d00d96fb4b8a9b3bf43">&#9670;&nbsp;</a></span>wiced_bt_mesh_power_onoff_client_callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_mesh_power_onoff_client_callback_t(uint16_t event, <a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, void *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power On/Off Client callback is called by the Mesh Models library on receiving WICED_BT_MESH_POWER_ONOFF_ONPOWERUP_STATUS message from the peer. </p>
<p>The function is also called when transmission of the request has been completed <a class="el" href="group__wiced__bt__mesh__provisioning.html#ga31c4c354e12fd933b285fe399a6559bf">WICED_BT_MESH_TX_COMPLETE</a> with tx_failed field of the p_event parameter indicating if the request has been sent out successfully.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">event</td><td>The event that the application should process (see <a class="el" href="wiced__bt__mesh__models_8h.html#POWER_ONOFF_EVENT">Mesh Power On/Off Events</a>) </td></tr>
    <tr><td class="paramname">p_event</td><td>information about the message received. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data with the status information</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga4d60833328cbf560c43ba130f56f69c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4d60833328cbf560c43ba130f56f69c7">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_onoff_client_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_power_onoff_client_init </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__bt__mesh__power__onoff__client.html#ga2c0d0dd298d58d00d96fb4b8a9b3bf43">wiced_bt_mesh_power_onoff_client_callback_t</a> *&#160;</td>
          <td class="paramname"><em>p_callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wiced_bool_t&#160;</td>
          <td class="paramname"><em>is_provisioned</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power On/Off Client Module initialization. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Device element to where model is used </td></tr>
    <tr><td class="paramname">p_callback</td><td>The application callback function that will be executed by the Mesh Models library when a request has been sent out, or failed, or when a reply for the application request has been received. </td></tr>
    <tr><td class="paramname">is_provisioned</td><td>If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the model cleans up NVRAM on startup.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="ga1a8051787824f2f8c30718a2871cd7f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1a8051787824f2f8c30718a2871cd7f1">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_onoff_client_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_power_onoff_client_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generic Power OnOff Client Message Handler. </p>
<p>This is an internal Mesh Models library function and does not need to be implemented or called by the application, unless application wants to replace the library functionality. The Mesh Core library calls this function for each message received. The function shall return WICED_TRUE if the message is destined for this specific model, and returns WICED_FALSE otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model/Element Index combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="ga0e675596ea9b81df95f2bf81c886a168"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0e675596ea9b81df95f2bf81c886a168">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_onoff_client_send_onpowerup_get()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_result_t wiced_bt_mesh_model_power_onoff_client_send_onpowerup_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The application can call this function to send the Get Power On/Off state client message to the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with the information about the message that has been created by the application.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_BT_SUCCESS if message has been queued for transmission. </dd></dl>

</div>
</div>
<a id="ga30456c1896ae6fc5d8259e70a6218b4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga30456c1896ae6fc5d8259e70a6218b4c">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_onoff_client_send_onpowerup_set()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_result_t wiced_bt_mesh_model_power_onoff_client_send_onpowerup_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__power__onoff__data__t.html">wiced_bt_mesh_power_onoff_data_t</a> *&#160;</td>
          <td class="paramname"><em>p_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The application can call this function to send Set OnOff client message to the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with the information about the message that has been created by the application. The p_event-&gt;reply specifies if application wants to receive Status from the peer. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_BT_SUCCESS if message has been queued for transmission. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth LE Mesh Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
